<template>
  <ul>
    <li :style="{ opacity }">欢迎学习vue</li>
    <li>news001<input type="text" /></li>
    <li>news002<input type="text" /></li>
    <li>news003<input type="text" /></li>
  </ul>
</template>

<script>
export default {
  name: "News",
  data() {
    return {
      opacity: 1,
    };
  },
  /* mounted() {
    this.timer = setInterval(() => {
      this.opacity -= 0.01;
      if (this.opacity <= 0) this.opacity = 1;
    }, 16);
  }, 
  */
  /*  beforeDestroy() {
    console.log("组件即将被销毁了");
    clearInterval(this.timer);
  }, */

  //注意:这两个生命周期钩子需要配合keep-alive标签使用
  activated() {
    console.log("News组件被激活了");
    this.timer = setInterval(() => {
      this.opacity -= 0.01;
      if (this.opacity <= 0) this.opacity = 1;
    }, 16);
  },
  deactivated() {
    console.log("News组件失活了");
    clearInterval(this.timer);
  },
};
</script>

<style scoped>
</style>
